home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t5.d64 / autoterm_1650.c (.txt) < prev    next >
Commodore BASIC  |  2009-10-10  |  7KB  |  395 lines

  1. 0 PRINTCHR$(14):POKE53280,0:POKE53281,0
  2. 1 PRINT"[147][193][213][212][207][196][201][193][204]/[212][197][210][205] [198]OR 1650 [158](12/12/83)"
  3. 2 PRINT"[150][207]RIGINALLY [194]Y [211]TEVE [208]UNTER"
  4. 3 PRINT"[195]ONVERTED [194]Y [203]EITH [208]ETERSON"
  5. 4 PRINT"[195]OLOUR [194]Y [199]ORD [196]UESBURRY"
  6. 5 PRINT"[158][193]UTODIALING [194]Y [210]ICHARD [194]RADLEY"
  7. 6 IFPEEK(22784)<>76THENPRINT"[204]OADING [205]ACHINE [204]ANGUAGE":LOAD"TERM.64.D",8,1
  8. 7 PRINT"[195]LEARING [213]SED #'S FILE":OPEN25,8,3,"@0:CHECKER,U,W":PRINT#25,"NO":CLOSE25
  9. 8 POKE56,88
  10. 9 POKE644,88
  11. 10 CLR
  12. 11 OPEN5,2,0,CHR$(6)+CHR$(0):REM300 BAUD
  13. 12 B1=56577:B2=56579
  14. 13 RE$=" "
  15. 14 DIMYY$(30):DIMZZ$(30):DIMBB$(30)
  16. 15 SE$=" "
  17. 16 MO%=134
  18. 17 R%=0
  19. 18 C$="0123456789ABCDEF"
  20. 19 RP=2
  21. 20 RS=0
  22. 21 WP=RP
  23. 22 WS=RS
  24. 23 POKE24575,RP
  25. 24 POKE24574,RS+96
  26. 25 POKE24573,WP
  27. 26 POKE24572,WS+96
  28. 27 PA(0)=10
  29. 28 PA(1)=6
  30. 29 PA(2)=2
  31. 30 ML=22784
  32. 31 PRINTCHR$(14)
  33. 32 POKE24569,0
  34. 33 OPEN1,8,15
  35. 34 POKE556,0
  36. 35 POKE552,0
  37. 36 POKE553,1
  38. 37 DN$=""
  39. 38 GOTO45
  40. 39 GET#5,A$,A$
  41. 40 SYSML+0
  42. 41 CLOSE11
  43. 42 POKE24569,0
  44. 43 TM=0
  45. 44 GOTO8
  46. 45 PRINT"[147][198]UNCTION:"
  47. 46 PRINT"1 - [212]ERMINAL [205]ODE"
  48. 47 PRINT"2 - [210]ECEIVE PROGRAM"
  49. 48 PRINT"3 - [212]RANSMIT PROGRAM ([194]EWARE!)"
  50. 49 PRINT"4 - [208]RINT [196]ISK [198]ILE"
  51. 50 PRINT"5 - [195]HANGE [195]OLOUR"
  52. 51 PRINT"6 - [196]IAL [193] [194][194][211]"
  53. 52 PRINT"7 - [195]REATE #'S [198]ILE"
  54. 53 PRINT"8 - [209]UIT"
  55. 54 GETA$
  56. 55 IFA$=""THEN54
  57. 56 ONVAL(A$)GOTO39,123,184,58,251,263,380,225
  58. 57 GOTO54
  59. 58 PRINT"[206]AME OF [198]ILE?"
  60. 59 PRINT">";
  61. 60 GOSUB232
  62. 61 IFB$=""THEN45
  63. 62 CLOSE11
  64. 63 OPEN11,8,11,B$
  65. 64 GOSUB245
  66. 65 IFESTHENPRINTES$:GOTO58
  67. 66 PRINT"[193]SCII OR [195]BM [212]YPE [207]UTPUT?"
  68. 67 PRINT">";
  69. 68 POKE555,0
  70. 69 GETA$
  71. 70 IFA$=""THEN69
  72. 71 IFA$=CHR$(13)THEN45
  73. 72 IFA$="A"THENPOKE555,0:GOTO74
  74. 73 IFA$<>"C"THEN69
  75. 74 PRINTCHR$(ASC(A$)OR128)""
  76. 75 SYSML+3
  77. 76 CLOSE11
  78. 77 GOTO45
  79. 78 GOSUB96
  80. 79 A=PEEK(553)
  81. 80 A=A+1
  82. 81 IFA=2THENA=0
  83. 82 POKE553,A
  84. 83 GOTO280
  85. 84 GOSUB96
  86. 85 PA=PA+1
  87. 86 IFPA=3THENPA=0
  88. 87 POKE660,(PA(PA)ORDU)*16+1
  89. 88 GOTO280
  90. 89 GOSUB96
  91. 90 DU=DU+1
  92. 91 IFDU=2THENDU=0
  93. 92 POKE660,(PA(PA)ORDU)*16+1
  94. 93 GOTO280
  95. 94 A$=" [146]"
  96. 95 GOTO97
  97. 96 A$=" "
  98. 97 PRINT"   ";LEFT$(DN$,PEEK(553));A$
  99. 98 PRINT"   ";LEFT$(DN$,PA);A$
  100. 99 PRINT"   ";LEFT$(DN$,DU);A$
  101. 100 RETURN
  102. 101 A$=" [146]"
  103. 102 GOTO104
  104. 103 A$=" "
  105. 104 PRINT"   ";LEFT$(DN$,BR);A$
  106. 105 PRINT"   ";LEFT$(DN$,SB);A$
  107. 106 PRINT"   ";LEFT$(DN$,WL);A$
  108. 107 RETURN
  109. 108 GOSUB103
  110. 109 BR=BR+1
  111. 110 IFBR=3THENBR=0
  112. 111 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6)
  113. 112 GOTO82
  114. 113 GOSUB103
  115. 114 SB=SB+1
  116. 115 IFSB=2THENSB=0
  117. 116 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6)
  118. 117 GOTO82
  119. 118 GOSUB103
  120. 119 WL=WL+1
  121. 120 IFWL=2THENWL=0
  122. 121 POKE659,((SB*8)OR(2*WL)OR1)*16+(BR+6)
  123. 122 GOTO82
  124. 123 REM RECEIVE A PROGRAM
  125. 124 PRINT"[206]AME OF [198]ILE?"
  126. 125 PRINT"[196]EFAULT DRIVE IS #0"
  127. 126 PRINT">";
  128. 127 GOSUB232
  129. 128 S$=B$
  130. 129 IFS$=""THENPRINT#5,"A";:GOTO39
  131. 130 IFMID$(S$,2,1)<>":"THENS$="0:"+S$
  132. 131 GOSUB173
  133. 132 S$="@"+S$+T$+",W"
  134. 133 CLOSE2
  135. 134 OPEN2,8,2,S$
  136. 135 GOSUB245
  137. 136 IFESTHENPRINTES$:CLOSE2:GOTO124
  138. 137 PRINT#5,"TTTTTTTTTT";
  139. 138 FORX=0TO8
  140. 139 NEXT
  141. 140 GET#5,A$
  142. 141 IFST=0THEN138
  143. 142 SYSML+18
  144. 143 IFSTTHEN154
  145. 144 GET#5,A$
  146. 145 IFST=0THEN144
  147. 146 S1=PEEK(ML-2)
  148. 147 S2=PEEK(ML-1)
  149. 148 SYSML+12
  150. 149 IFS1<>PEEK(ML-2)ORS2<>PEEK(ML-1)THEN158
  151. 150 SYSML+15
  152. 151 PRINT#5,"";
  153. 152 PRINT"-";
  154. 153 GOTO138
  155. 154 CLOSE2
  156. 155 PRINT#5,"SSSSSSSSSS";
  157. 156 PRINT
  158. 157 GOTO39
  159. 158 PRINT#5,"";
  160. 159 PRINT":";
  161. 160 GOTO138
  162. 161 PRINT"[212]YPE OF [198]ILE:"
  163. 162 PRINT"([208])ROGRAM, ([215])ORD[208]RO, OR ([211])EQ?"
  164. 163 PRINT">";
  165. 164 GETB$
  166. 165 IFB$=""THEN164
  167. 166 TY$=B$
  168. 167 FL=0
  169. 168 IFB$="P"THENT$=",P":POKE557,0:PRINT"[208]ROGRAM":RETURN
  170. 169 IFB$="S"THENT$=",S":POKE557,0:PRINT"[211][197][209]":RETURN
  171. 170 IFB$="W"THENT$=",P":POKE557,1:PRINT"[215]ORD[208]RO":RETURN
  172. 171 IFB$=CHR$(13)THENFL=1:RETURN
  173. 172 GOTO164
  174. 173 PRINT#5,"UUUUUUUUUU";
  175. 174 GET#5,A$
  176. 175 IFST<>0THEN174
  177. 176 IFA$="P"THENT$=",P":POKE557,0:A$="[208]ROGRAM":GOTO180
  178. 177 IFA$="S"THENT$=",S":POKE557,0:A$="[211][197][209]":GOTO180
  179. 178 IFA$="W"THENT$=",P":POKE557,1:A$="[215]ORD[208]RO":GOTO180
  180. 179 GOTO174
  181. 180 PRINT"[198]ILE [212]YPE: "A$""
  182. 181 GET#5,A$
  183. 182 IFST=0THEN181
  184. 183 RETURN
  185. 184 REM SEND AN SEQ FILE TO BULLETIN BOARD
  186. 185 PRINT"[206]AME OF [198]ILE TO [211]END?"
  187. 186 PRINT">";
  188. 187 GOSUB232
  189. 188 S$=B$
  190. 189 IFS$=""THENPRINT#5,"A";:GOTO39
  191. 190 GOSUB161
  192. 191 IFFLTHENS$="":GOTO189
  193. 192 CLOSE2
  194. 193 OPEN2,8,2,S$+T$
  195. 194 GOSUB245
  196. 195 IFESTHENPRINTES$:CLOSE2:GOTO185
  197. 196 FORX=1TO10
  198. 197 PRINT#5,TY$;
  199. 198 NEXTX
  200. 199 PRINT
  201. 200 GET#5,A$
  202. 201 IFST<>0ORA$<>"U"THEN200
  203. 202 SYSML+9
  204. 203 CK=ST
  205. 204 GET#5,A$
  206. 205 IFST=0THEN204
  207. 206 FORX=1TO200
  208. 207 NEXT
  209. 208 REM DELAY LOOP
  210. 209 FORT=0TO255
  211. 210 PRINT#5,CHR$(PEEK(ML-256+T));
  212. 211 NEXTT
  213. 212 PRINT#5,"ZZZZZZZZZZZZZZZ";
  214. 213 GET#5,A$
  215. 214 IFST<>0THEN213
  216. 215 IFA$=""THENPRINT":";:GOTO204
  217. 216 IFA$<>""THEN213
  218. 217 IFCK=0THENPRINT"-";:GOTO202
  219. 218 GET#5,A$
  220. 219 IFST=0THEN218
  221. 220 CLOSE2
  222. 221 GOTO39
  223. 222 SYSML+21
  224. 223 A$=CHR$(PEEK(634))
  225. 224 RETURN
  226. 225 POKE22784,0:REM QUIT TERMINAL
  227. 226 CLOSE5
  228. 227 CLOSE1
  229. 228 CLOSE2
  230. 229 CLOSE11
  231. 230 PRINTCHR$(9)
  232. 231 END
  233. 232 PRINT" [146][157]";
  234. 233 B$=""
  235. 234 GETA$
  236. 235 IFA$=""THEN234
  237. 236 IFA$=CHR$(20)THEN241
  238. 237 IFA$=CHR$(13)THENPRINT" ":RETURN
  239. 238 B$=B$+A$
  240. 239 PRINT" [157]"A$" [146][157]";
  241. 240 GOTO234
  242. 241 IFLEN(B$)=0THEN234
  243. 242 B$=LEFT$(B$,LEN(B$)-1)
  244. 243 PRINTA$;
  245. 244 GOTO234
  246. 245 REM GET ERROR CHANNEL
  247. 246 INPUT#1,E1$,E2$,E3$,E4$
  248. 247 ES$=E1$+","+E2$+","+E3$+","+E4$
  249. 248 ES=VAL(E1$)
  250. 249 RETURN
  251. 250 POKE22784,0:RUN
  252. 251 F1=0:F2=0:F3=0
  253. 252 PRINT"[147][198]1=[194]ORDER COLOUR"CHR$(13)"[198]3=[194]ACKGROUND COLOUR"
  254. 253 PRINT"[198]5=CURSOR COLOUR"CHR$(13)"[198]7=[194]ACK TO MAIN MENU"
  255. 254 IFF1>15THENF1=0
  256. 255 IFF2>15THENF2=0
  257. 256 IFF3>15THENF3=0
  258. 257 GETYU$:IFYU$=""THEN257
  259. 258 IFYU$="[133]"THENPOKE53280,F1:F1=F1+1
  260. 259 IFYU$="[134]"THENPOKE53281,F2:F2=F2+1
  261. 260 IFYU$="[135]"THENPOKE646,F3:F3=F3+1
  262. 261 IFYU$="[136]"THEN45
  263. 262 GOTO252
  264. 263 RU=0:GOSUB330:DD=1
  265. 264 IFHH=0GOTO45
  266. 265 B1=56577:B2=56579:X1=0
  267. 266 IFRU<>1GOTO269
  268. 267 D$=ZZ$(DD):IFD$="@"THENDD=DD+1:D$=ZZ$(DD):IFZZ$(DD)="@"GOTO267
  269. 268 DD=DD+1:IFDD>ZZTHENDD=1:GOTO267
  270. 269 POKEB2,32
  271. 270 POKEB1,0
  272. 271 FORX=1TO1000:NEXTX
  273. 272 PRINT"[147]"
  274. 273 PRINT:PRINT
  275. 274 PRINT"[196]IALING!"
  276. 275 PRINT"[212]O [211]TOP [196]IALING [208]RESS [193]NY [203]EY [193]ND [215]AIT[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
  277. 276 POKEB1,32
  278. 277 T=100
  279. 278 T=T-1:IFT<>0GOTO278
  280. 279 D=LEN(D$)
  281. 280 FORX=1TOD
  282. 281 N$=MID$(D$,X,1):II=0
  283. 282 IFN$<CHR$(48)ORN$>CHR$(57)THENII=1
  284. 283 IFN$="%"THENGOSUB391
  285. 284 PRINTN$;:IFII=1GOTO288
  286. 285 N=VAL(N$)
  287. 286 IFN=0THENN=10
  288. 287 GOSUB307
  289. 288 NEXTX
  290. 289 PRINT
  291. 290 PRINT"DIAL COMPLETE"
  292. 291 FORX=1TO400
  293. 292 IF PEEK(B1)<>127THENX=3001:X1=1
  294. 293 GETFF$:IFFF$<>""GOTO45
  295. 294 NEXTX
  296. 295 IFX1<>1THEN265
  297. 296 IFRU<>1GOTO319
  298. 297 OPEN25,8,3,"0:CHECKER"
  299. 298 INPUT#25,YY$:IFYY$="NO"THENCLOSE25:GOTO303
  300. 299 YY=1:YY$(YY)=YY$
  301. 300 YY=YY+1:INPUT#25,YY$(YY)
  302. 301 IFYY$(YY)="@"THENYY=YY-1:CLOSE25:GOTO303
  303. 302 GOTO300
  304. 303 OPEN25,8,3,"@0:CHECKER,U,W"
  305. 304 PRINT#25,D$:FORX=1TOYY:PRINT#25,YY$(X):NEXTX:PRINT#25,"@":CLOSE25
  306. 305 GOTO319
  307. 306 REM SUBROUTINE TO PULSE THE LINE N TIMES
  308. 307 FORN1=1TON
  309. 308 POKEB1,0
  310. 309 T=2
  311. 310 T=T-1:IFT<>0THEN310
  312. 311 POKEB1,32
  313. 312 T=2
  314. 313 T=T-1:IFT<>0THEN313
  315. 314 NEXTN1
  316. 315 T=10
  317. 316 T=T-1:IFT<>0THEN316
  318. 317 RETURN
  319. 318 GOTO39
  320. 319 S=54272
  321. 320 FORL=0TO24:POKES+L,0:NEXT
  322. 321 POKES+1,100
  323. 322 POKES+5,10
  324. 323 POKES+15,255
  325. 324 POKES+24,15
  326. 325 POKES+4,21
  327. 326 GETCH$:IFCH$=""GOTO328
  328. 327 FORL=STOS+24:POKEL,0:NEXTL:PRINT"[147]";:GOTO39
  329. 328 FORT=1TO1000:NEXT:POKES+4,20
  330. 329 FORT=1TO1000:NEXT:GOTO325
  331. 330 PRINT"[147]"
  332. 331 PRINT"[206]UMBER [198]ROM ([203])EYBOARD OR ([196])ISK":GETKK$
  333. 332 GETKK$:IFKK$=""GOTO332
  334. 333 IFKK$="K"THENGOSUB375:RETURN
  335. 334 IFKK$="D"THENGOTO336
  336. 335 IFKK$<>"D"THENGOTO330
  337. 336 PRINT"[147]"
  338. 337 ZZ=1
  339. 338 INPUT"[198]ILE [206]AME ";NF$
  340. 339 PRINT"[195]LEAR [213]SED #'S [198]ILE ([217] OR [206])"
  341. 340 GETYN$:IFYN$=""GOTO340
  342. 341 IFYN$="N"GOTO344
  343. 342 IFYN$="Y"THENOPEN25,8,3,"@0:CHECKER,U,W":PRINT#25,"NO":CLOSE25:GOTO344
  344. 343 IFYN$<>"Y"THENGOTO340
  345. 344 PRINT"[147]"
  346. 345 OPEN25,8,3,"0:CHECKER":INPUT#25,YY$:IFYY$="NO"THENCLOSE25:PP=1
  347. 346 CLOSE25
  348. 347 OPEN15,8,3,""+NF$
  349. 348 INPUT#15,ZZ$(ZZ)
  350. 349 IFZZ$(ZZ)=""THENCLOSE15:GOTO338
  351. 350 IFZZ$(ZZ)="@"THENCLOSE15:GOTO352
  352. 351 ZZ=ZZ+1:GOTO348
  353. 352 IFPP=1GOTO357
  354. 353 OPEN25,8,3,"0:CHECKER":YY=1
  355. 354 INPUT#25,YY$(YY)
  356. 355 IFYY$(YY)="@"THENCLOSE25:YY=YY-1:GOTO357
  357. 356 YY=YY+1:GOTO354
  358. 357 FORX=1TOZZ-1
  359. 358 PRINTX;" ";ZZ$(X):NEXTX
  360. 359 PRINT:PRINT
  361. 360 INPUT"[208]ICK [193] [206]UMBER ([193] FOR ALL)";DD$
  362. 361 IFDD$=""GOTO45
  363. 362 IFDD$="A"THENRU=1:GOSUB366:RETURN
  364. 363 IFVAL(DD$)=0ORVAL(DD$)>ZZ-1GOTO360
  365. 364 HH=1
  366. 365 D$=ZZ$(VAL(DD$)):RETURN
  367. 366 HH=0:FORUU=1TOYY
  368. 367 FORII=1TOZZ
  369. 368 IFZZ$(II)=YY$(UU)THENZZ$(II)="@"
  370. 369 NEXTII
  371. 370 NEXTUU
  372. 371 FORII=1TOZZ
  373. 372 IFZZ$(II)<>"@"THENII=ZZ+1:HH=1
  374. 373 NEXTII
  375. 374 RETURN
  376. 375 PRINT"[147]"
  377. 376 INPUT"[206]UMBER [212]O [196]IAL";OO$
  378. 377 IFLEN(OO$)<7GOTO375
  379. 378 D$=OO$
  380. 379 HH=1:RETURN
  381. 380 PRINT"[147]":FORBB=1TO30:BB$(BB)="":NEXTBB:NF$=""
  382. 381 INPUT"[198]ILE [206]AME";NF$
  383. 382 IFNF$=""GOTO45
  384. 383 BB=1
  385. 384 PRINT"[206]UMBER [212]O [196]IAL ([210][212][206] [212]O [215]RITE [198]ILE)"
  386. 385 INPUTBB$(BB)
  387. 386 IFBB$(BB)=""GOTO388
  388. 387 BB=BB+1:PRINT"[145]":GOTO384
  389. 388 OPEN40,8,3,"@0:"+NF$+",S,W"
  390. 389 FORVV=1TOBB-1:PRINT#40,BB$(VV):NEXTVV
  391. 390 PRINT#40,"@":CLOSE40:GOTO45
  392. 391 TY=300:TZ=TI
  393. 392 IFTI>TY+TZTHENRETURN
  394. 393 GOTO392
  395.